code: @Override
  	public long estimateMemorySize()
  	{
  		long size = SIZE_OF_MULTI_PATH_IMPL +
  			+ (m_envelope != null ? m_envelope.estimateMemorySize() : 0)
  			+ (m_moveToPoint != null ? m_moveToPoint.estimateMemorySize() : 0)
  			+ (m_cachedRingAreas2D != null ? m_cachedRingAreas2D.estimateMemorySize() : 0)
  			+ (m_paths != null ? m_paths.estimateMemorySize() : 0)
  			+ (m_pathFlags != null ? m_pathFlags.estimateMemorySize() : 0)
  			+ (m_segmentFlags != null ? m_segmentFlags.estimateMemorySize() : 0)
  			+ (m_segmentParamIndex != null ? m_segmentParamIndex.estimateMemorySize() : 0)
  			+ (m_segmentParams != null ? m_segmentParams.estimateMemorySize() : 0);
  
  		if (m_vertexAttributes != null) {
  			for (int i = 0; i < m_vertexAttributes.length; i++) {
  				size += m_vertexAttributes[i].estimateMemorySize();
  			}
  		}
  
  		if (m_accelerators != null) {
  			size += m_accelerators.estimateMemorySize();
  		}
  
  		return size;
  	}
docs: XXX;